মাউস, কীবোর্ড এবং কন্ট্রোলার ইনপুট হ্যান্ডল করা

ইনপুট সিস্টেম এবং কন্ট্রোল - ইউনিটি (Unity) - Latest Technologies

312

Unity তে মাউস, কীবোর্ড, এবং কন্ট্রোলার ইনপুট হ্যান্ডল করা গেমের ইন্টারঅ্যাকটিভিটি এবং খেলোয়াড়ের অভিজ্ঞতা তৈরি করার জন্য অত্যন্ত গুরুত্বপূর্ণ। Unity বিভিন্ন ইনপুট সিস্টেম সমর্থন করে, যা আপনাকে সহজে ইনপুট ডেটা সংগ্রহ করতে এবং প্রক্রিয়া করতে দেয়। নিচে এই ইনপুটগুলি হ্যান্ডল করার পদ্ধতি আলোচনা করা হলো।

১. মাউস ইনপুট হ্যান্ডল করা

Unity তে মাউস ইনপুটের জন্য Input ক্লাস ব্যবহার করা হয়। নিচে কিছু মৌলিক উদাহরণ দেওয়া হলো:

১.১ মাউস ক্লিক শনাক্ত করা

using UnityEngine;

public class MouseInput : MonoBehaviour
{
    void Update()
    {
        // মাউস বাটন ক্লিকের জন্য চেক করুন
        if (Input.GetMouseButtonDown(0)) // 0 = বাম ক্লিক
        {
            Debug.Log("Left mouse button clicked.");
        }

        // মাউস অবস্থান পেতে
        Vector3 mousePosition = Input.mousePosition;
        Debug.Log("Mouse Position: " + mousePosition);
    }
}

১.২ মাউস মুভমেন্ট শনাক্ত করা

void Update()
{
    // মাউস অবস্থান পেতে
    Vector3 mousePosition = Input.mousePosition;
    
    // মাউস অবস্থান ব্যবহার করে কার্যক্রম
    // যেমন, ক্যামেরার দিকে নির্দেশ করা
    Debug.Log("Mouse Position: " + mousePosition);
}

২. কীবোর্ড ইনপুট হ্যান্ডল করা

কীবোর্ড ইনপুটও Input ক্লাস ব্যবহার করে সহজেই হ্যান্ডল করা যায়।

২.১ কীবোর্ড ইনপুট শনাক্ত করা

using UnityEngine;

public class KeyboardInput : MonoBehaviour
{
    void Update()
    {
        // W, A, S, D কীগুলি শনাক্ত করা
        if (Input.GetKey(KeyCode.W))
        {
            Debug.Log("Moving Up");
        }
        if (Input.GetKey(KeyCode.S))
        {
            Debug.Log("Moving Down");
        }
        if (Input.GetKey(KeyCode.A))
        {
            Debug.Log("Moving Left");
        }
        if (Input.GetKey(KeyCode.D))
        {
            Debug.Log("Moving Right");
        }
        
        // Esc কী চাপা হলে গেম বন্ধ করা
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            Application.Quit();
            Debug.Log("Game Closed");
        }
    }
}

৩. কন্ট্রোলার ইনপুট হ্যান্ডল করা

Unity তে কন্ট্রোলার ইনপুট হ্যান্ডল করার জন্য Input.GetAxis বা Unity এর নতুন ইনপুট সিস্টেম ব্যবহার করা হয়।

৩.১ কন্ট্রোলার ইনপুট শনাক্ত করা

using UnityEngine;

public class ControllerInput : MonoBehaviour
{
    void Update()
    {
        // Horizontal এবং Vertical ইনপুট
        float moveHorizontal = Input.GetAxis("Horizontal");
        float moveVertical = Input.GetAxis("Vertical");

        // ইনপুট অনুযায়ী চরিত্রের মুভমেন্ট
        Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
        transform.Translate(movement * Time.deltaTime);
        
        // কন্ট্রোলার বাটন শনাক্ত করা
        if (Input.GetButtonDown("Jump"))
        {
            Debug.Log("Jump button pressed.");
        }
    }
}

৪. Unity ইনপুট সিস্টেম (নতুন)

Unity এর নতুন ইনপুট সিস্টেম ব্যবহার করে কন্ট্রোলার ইনপুট এবং অন্যান্য ইনপুটকে আরও উন্নতভাবে হ্যান্ডল করা সম্ভব। এটি আরো কার্যকরী এবং সহজে কাস্টমাইজযোগ্য।

৪.১ নতুন ইনপুট সিস্টেম সেটআপ করা

  1. Package Manager-এ যান এবং Input System প্যাকেজ ইনস্টল করুন।
  2. একটি নতুন Input Action Asset তৈরি করুন।

৪.২ ইনপুট সেটআপ করা

  1. Input Action Asset এ একটি অ্যাকশন তৈরি করুন, যেমন Move এবং Jump
  2. ইনপুটের জন্য কীবোর্ড, মাউস এবং কন্ট্রোলার ইনপুট যুক্ত করুন।

৪.৩ ইনপুট ব্যবহার করা

using UnityEngine;
using UnityEngine.InputSystem;

public class NewInput : MonoBehaviour
{
    public void OnMove(InputAction.CallbackContext context)
    {
        Vector2 movement = context.ReadValue<Vector2>();
        Debug.Log("Move: " + movement);
    }

    public void OnJump(InputAction.CallbackContext context)
    {
        if (context.performed)
        {
            Debug.Log("Jump!");
        }
    }
}

উপসংহার

Unity তে মাউস, কীবোর্ড, এবং কন্ট্রোলার ইনপুট হ্যান্ডল করা একটি মৌলিক প্রক্রিয়া যা গেমের ইন্টারঅ্যাকটিভিটি তৈরি করে। Input ক্লাস ব্যবহার করে সহজেই ইনপুট ডেটা সংগ্রহ করা যায়। Unity এর নতুন ইনপুট সিস্টেম ব্যবহার করে ইনপুট হ্যান্ডলিং আরও কার্যকর এবং কাস্টমাইজেবল। এই পদ্ধতিগুলি ব্যবহার করে, আপনি একটি ইন্টারঅ্যাকটিভ এবং আকর্ষণীয় গেম তৈরি করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...